home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Games: Greatest Hits 1996
/
Amiga Games: Greatest Hits 1996.iso
/
userbox
/
publicdomain
/
bootgauge
/
help
/
bootgauge.guide
(
.txt
)
next >
Wrap
Amigaguide Document
|
1996-05-11
|
42KB
|
1,048 lines
@DATABASE BootGauge
@MASTER BootGauge
@$VER: 0.9
@AUTHOR Timo C. Nentwig
@(C) Timo C. Nentwig
@TAB 4
@MACRO START "@{START}"
@MACRO END "@{END}"
@MACRO BOLD "@{B}$1@{UB}"
@MACRO ITALIC "@{I}$1@{UI}"
@MACRO UNDERLINED "@{U}$1@{UU}"
@MACRO HEAD "@{B}@{U}$1@{UB}@{UU}"
@MACRO SHINE "@{FG SHINE}$1@{FG TEXT}"
@MACRO SHINEBOLD "@{FG SHINE}@{B}$1@{UB}@{FG TEXT}"
@WARPWRAP
@SMARTWRAP
/// Main
@NODE "Main" "BootGauge- The Boot Enhancer"
@{END}
@{JCENTER}
@{"Non-V40 User read me" LINK "Non-V40"}
@{SHINEBOLD "BootGauge"}
@{BOLD "The Boot Enhancer For The Amiga"}
Copyright 1995-1996 by Timo C. Nentwig
Tcn@techbase.in-berlin.de
GIFTWARE
@{HEAD "The boring stuff"}
@{" Overview " LINK "Overview" } Short description
@{" Distribution " LINK "Distribution" } CDs, BBS, Disks
@{" Disclaimer " LINK "Disclaimer" } You won't read, will you ?
@{" Status " LINK "Status" } Hard work, so GIFTWARE
@{" Author " LINK "Author" } Who am I ?
@{HEAD "Getting started"}
@{" Starting ... " LINK "Start" } Calling BootGauge the 1st time
@{" Modules " LINK "Modules" } The modules of BootGauge
@{" Requirements " LINK "Requirements" } Windows '95 (Multimedia edition only)
@{" Installation " LINK "Install" } Very complicated !
@{" Notes " LINK "Notes"
} important !
@{" Usage " LINK "Usage" } How to use BG ?
@{" Configuration " LINK "Config" } How to configure BootGauge
@{HEAD "Miscellaneous"}
@{" History " LINK "History" 9999 } what did I already do ?
@{" ToDo " LINK "ToDo" } what shall I do ?
@{" Thanks ... " LINK "Thanks" } People I want to thank
@{JLEFT}
@{START}
@ENDNODE
/// Non-V40
@NODE "Non-V40" "Hints for Non-V40 Users"
@{END}
This Guide was written for and under AmigaOS 3.1 (V40). It uses among
other things SMARTWRAP (or WORDWRAP) etc. which may not be available
in older releases.
@ENDNODE
/// Overview
@NODE "Overview" "Overview"
@{END}
@{HEAD "Overview" }
@{JCENTER}
_________________________________________________________
| Short: Display gauge bar during booting |
| Uploader: Tcn@techbase.in-berlin.de (Timo C. Nentwig) |
| Author: Tcn@techbase.in-berlin.de (Timo C. Nentwig) |
| Type: util/boot |
@{"Status" LINK "Status"}
@{JLEFT}
@{START}
My A4k30 needs about 1 minute to boot. It was boring to wait all the time and just seeing a black screen.
@{PAR}
Also boot pictures didn't produce real fun. And it is pretty unprofessional ;-)
@{PAR}
When I saw that the MAC (System 7.5.1+) had a boot gauge bar I began to develop an equal program and here it is.
@{PAR}
BootGauge executes a @{UNDERLINED "specified"} startup-sequence and displays
during that e.g. a gauge bar.
@{PAR}
@{END}
@{JCENTER}
But BootGauge offers you even more ... just read on.
@{JLEFT}
@ENDNODE
/// Distribution
@NODE "Distribution" "Distribution"
@{END}
@{HEAD "Distribution"}
@{JCENTER}
@{SHINEBOLD "BootGauge is copyrighted
1995/1996 by Timo C. Nentwig."}
@{SHINEBOLD "All Rights Reserved !"}
@{JLEFT}
You are allowed to distribute BootGauge on:
@{JCENTER}
AmiNet .........
Amiga PD CDs ...
BBS ............
@{BOLD "OTHERWISE (E.G. PD DISKS !) YOU WILL HAVE TO ASK ME FIRST !"}
@{JLEFT}
@{START}
Do your best to make BootGauge everywhere on the earth (BBS, FTP, ...)
available ! :-)
@ENDNODE
/// Disclaimer
@NODE "Disclaimer" "Disclaimer"
@{HEAD "Disclaimer"}
@{FG Shine}
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDER AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT
WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE
DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR
CORRECTION.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY REDISTRIBUTE THE
PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING
ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT
OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED
BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH
ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN
ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
@ENDNODE
/// Status
@NODE "Status" "Status"
@{END}
@{HEAD "Status"}
@{JCENTER}
@{SHINEBOLD "BootGauge is GIFTWARE !"}
@{JLEFT}
@{START}
Please accept this. BootGauge has been a very time-consuming job for
me @{"(see History)" LINK "History" 9999 } and it would be nice if you would support me a bit
and send me a nice gift if you like BootGauge and use it frequently.
@{PAR}
I don't want to make BootGauge SHAREWARE and add keyfile protection ....
@{END}
@{JCENTER}
@{"Author" LINK "Author" }
@ENDNODE
/// Author
@NODE "Author" "Author"
@{END}
@{HEAD "Author"}
@{JLEFT}
@{SHINEBOLD "SMail:"}
@{JCENTER}
Timo C. Nentwig
Edelhofdamm 35
13465 Berlin
Germany
@{JLEFT}
@{SHINEBOLD "EMail:"}
@{JCENTER}
Tcn@techbase.in-berlin.de
Tcn@zikzak.in-berlin.de
@{JLEFT}
@{START}
Feel free to write me whatever you want !
@ENDNODE
/// Start
@NODE "Start" "Getting started"
@{END}
@{HEAD "Start"}
@{START}
When you start BootGauge the first time you'll see 6 open windows in
the upper left edge of the screen.
@{PAR}
Best would be to select the About or Wait menu item (RCOMMAND + W)
first to delay the execution of the sequence.
@{PAR}
Move these windows anywhere and BootGauge will save (if not disabled by SNAPWINPOS) their position
when they are closed (to env[arc]:bootgauge/mod_*.prefs).
@{PAR}
@{END}
@{SHINEBOLD "Menu:"}
@{JCENTER}
About ............. open an about requester
Wait ............ open a requester and wait
Execute ..... single line command interface
Reboot ...................... reboot system
Quit ............. quit program immediately
@ENDNODE
/// Modules
@NODE "Modules" "Modules"
@{END}
@{HEAD "Modules"}
@{START}
BootGauge features these modules (all running in its own process):
@{END}
@{JCENTER}
mod_Devs ..
mod_Gauge .
mod_Mem ...
mod_Text ..
mod_Time ..
mod_Sys ...
@{JLEFT}
@{START}
@{SHINEBOLD "mod_Devs:"}
General information about the devices. The window is automatically
updated when a new device is added (e.g. when BootGauge cross "Mount
Devs:DosDrivers").
@{PAR}
@{SHINEBOLD "mod_Gauge:"}
The main module. It shows a gauge bar during BootGauge is booting the
system. Additionaly you can add a quit gadget.
@{PAR}
@{SHINEBOLD "mod_Mem:"}
Information about the chip, fast and total memory.
@{PAR}
@{SHINEBOLD "mod_Text:"}
Displays the line BootGauge is currently working on. The 4 text
gadgets on the right side of the window show you the count of commands
that returned WARN (5), FAIL (10), ERROR (20) and other errors.
@{PAR}
@{SHINEBOLD "mod_Time:"}
This module shows you the current time, date and day.
@{PAR}
@{SHINEBOLD "mod_Sys:"}
Information about the CPU, FPU, Chip set, OS, ...
@ENDNODE
/// Requirements
@NODE "Requirements" "Requirements"
@{END}
@{HEAD "Requirements"}
@{JCENTER}
Amiga OS 2 but 3 is supported. ...............................
BootGauge has only been tested under OS3.1 ! .................
It @{BOLD "should"} run with OS2. ......................................
(I'm too lazy to check this out, get OS3.1 and throw your 10
years old A500 away.) ........................................
Any resolution with at least 8 colors. .......................
gtlayout.library .............................................
@{"Thanks" LINK "Thanks"}
@ENDNODE
/// Installation
@NODE "Install" "Installation"
@{END}
@{HEAD "Installation"}
@{START}
Use the Installer. It does not install BootGauge completely but it
copies all required files to the right places.
@{END}
@{JCENTER}
copy BootGauge to c: .................................
create the directory env[arc]:bootgauge ..............
copy BootGauge.prefs to env[arc]:bootgauge and edit it
@{JLEFT}
@{START}
If you want to use a different resolution but PAL or NTSC you have to
@{END}
@{JCENTER}
Devs:Monitors/<your monitor>
@{JLEFT}
@{START}
before starting BootGauge and a
@{END}
@{JCENTER}
Assign env: envarc:
@{JLEFT}
@{START}
@{UNDERLINED "may"} be required.
@{PAR}
Now you have to modify your s:startup-sequence and create a
s:startup-sequence and a separate file which is the real, old
s:startup-sequence.
@{PAR}
@{END}
@{SHINEBOLD "Example:"}
@{" startup-sequence " LINK "startup-sequence"}
@{" system-startup " LINK "system-startup" }
@{START}
Your second, real startup-sequence can be placed and called where and
what you want.
@{PAR}
Default is sys:s/system-startup.
@{PAR}
BootGauge is configurable by @{"Shell arguments" LINK "Config"} and by
its own @{"configuration file" LINK "Config"}.
@ENDNODE
/// Notes
@NODE "Notes" "Notes"
@{END}
@{HEAD "Notes"}
@{JCENTER}
BootGauge does no pre-checking of the startup file ! E.g. IF without an
ENDIF is not detected !
The next version will probably require V39/V40.
The length of a line in the specified sequence are limited to 256
characters. ............................................................
BootGauge can't or won't handle the following statements (yet): ........
CAN'T: ALIAS ............................... (simply cannot, yet)
WON'T: ASK ....................... (nonsense in startup-sequence)
CAN'T: EVAL ............... (will be changed as soon as possible)
CAN'T: GET .............................. (is replaced by getenv)
CAN'T: IF, ELSE, ENDIF .... (will be changed as soon as possible)
CAN'T: LAB, SKIP, ENDSKIP . (will be changed as soon as possible)
WON'T: PROMPT .................... (nonsense in startup-sequence)
CAN'T: SET .............................. (is replaced by setenv)
CAN'T: UNALIAS ............................. (simply cannot, yet)
WON'T: WHY ....................... (nonsense in startup-sequence)
CAN'T: <$$> .....................................................
WON'T: .BRA ...................... (nonsense in startup-sequence)
WON'T: .DEF ...................... (nonsense in startup-sequence)
WON'T: .DOLLAR/.DOL .............. (nonsense in startup-sequence)
WON'T: .KET ...................... (nonsense in startup-sequence)
WON'T: .KEY/.K ................... (nonsense in startup-sequence)
@ENDNODE
/// Usage
@NODE "Usage" "Usage"
@{END}
@{HEAD "Usage"}
@{START}
The syntax of BootGauge:
@{END}
@{JCENTER}
BootGauge <options> [>NIL:]
@{JLEFT}
@{START}
To get the argument template of BootGauge's @{"options" LINK "Config"} enter
@{END}
@{JCENTER}
BootGauge ?
@{JLEFT}
@{START}
in the Shell. And type again "?" to get complete information.
@{PAR}
The options are not necessary since BootGauge can be configured by an
ASCII config file that is either
@{END}
@{JCENTER}
env:BootGauge/BootGauge.prefs
envarc:BootGauge/BootGauge.prefs
@ENDNODE
/// Config
@NODE "Config" "Configuration"
@{END}
@{HEAD "Config"}
There are two methods of configuring BootGauge:
@{JCENTER}
@{" Shell " LINK "Config_Shell"} .... not all arguments supported
@{" File " LINK "Config_File" } ............. main configuration
@ENDNODE
/// Config_Shell
@NODE "Config_Shell" "Configuration, Shell part"
@{END}
@{HEAD "Config: Shell"}
@{JCENTER}
@{SHINEBOLD "Attention !"}
@{JLEFT}
@{START}
The shell mode is not able to configure all options. Use the
configuration file. It's just for temporary tests:
@{END}
@{JCENTER}
BootGauge <option>
@{JLEFT}
@{START}
@{END}
@{JCENTER}
BootGauge ?
@{JLEFT}
@{START}
to get a short help.
@{BOLD "<option> can be:"}
@{END}
@{JCENTER}
Options Argument Description
---------------------------------------------------------------------
MODEID Number ID of the screen that BootGauge should use
Use e.g. GetModeID to get this number
DELAY Number Delay given ticks after every line executed
SEQ String Path to the file that should be executed
SCRPEN Number Pen of screen's background
NOCHECKED Nothing Fill background check or not
WINPEN Number Pen of window's background
TEST Nothing Just don't execute the command
NO_DEVS Nothing Do not open module mod_Devs
NO_GAUGE Nothing Disables the gauge bar
NO_MEM Nothing Do not open module mod_Mem
NO_TEXT Nothing Do not open module mod_Text
NO_TIME Nothing Do not open module mod_Time
NO_SYS Nothing Do not open module mod_Sys
@ENDNODE
/// Config_File
@NODE "Config_File" "Configuration, File part"
@{END}
@{HEAD "Config: File"}
@{START}
The configuration file of BootGauge is either
@{END}
@{JCENTER}
env:BootGauge/BootGauge.prefs
envarc:BootGauge/BootGauge.prefs
@{JLEFT}
@{START}
Just one of them is required.
@{PAR}
The format of a line is:
@{END}
@{JCENTER}
Keyword <value>
@{JLEFT}
@{START}
If <value> is longer than one word it must be placed in quotes,
otherwise just the first word is parsed. E.g.:
@{END}
@{JCENTER}
Keyword "my value"
@{JLEFT}
@{START}
Comments are introduced by '#' in column 1. E.g.:
@{END}
@{JCENTER}
# this is a comment
@{JLEFT}
@{START}
A whole line @{B}@{U}must not be@{UB}@{UU} longer than 256 chars (more is not read).
@{END}
@{SHINEBOLD "Example:"}
@{"env[arc]:BootGauge/BootGauge.prefs" LINK "BootGauge.prefs"}
@ENDNODE
/// History
@NODE "History" "History"
@{END}
@{HEAD "History"}
@{START}
Sorry, that you'll here just find my personal (but original ;)
developer notes but I am simply too lazy to explain every aspect.
@{END}
I hope you'll understand them anyway ...
** $VER: BootGauge 0.9 (20 Apr 1996) **
**
1995/1996 Timo C. Nentwig
** all rights reserved !
** Tcn@techbase.in-berlin.de
** ======================================
** Language:
**
** Program is compiled by SAS/C
** Purpose:
**
** Display gauge bar during booting
** Requirements:
**
**
AmigaOS 2+
**
gtlayout.library
mod_Gauge's quit gadget doch GLOBAL, SIG_KILL an Main_proc schicken !
IDCMP_DISKREMOVE scheint nicht beachted zu werden ...
Req() funktioniert scheinbar nicht mit "%s" ... siehe failed commands
split into program and bootgauge.library
#define BOLD \33[1m etc.
Use Req() also instead of printf()
///" Bugs"
** Bugs:
**
**
Pictures (BitPlanes ?) sehen falsch aus. [weber]
**
Palette der Pics -> Scr's palette
///" ToDo"
** ToDo:
**
**
log file/verbose ?
**
if block handling
**
Die schei
Gauge bar mu
doch irgendwie auf 100% (nicht 101 und nicht 99) zu bringen sein
**
/rkm/devices/audio/audio_8svx.c
**
Patches/Patch_Libs aus /Yak211/*.(c|h)
** -- -- Maybe: -- --
** |
Farben selbt einstellbar (nicht aus der Palette, sondern selbt einstellbar !!): SetRGB32( &(BG_scr -> ViewPort), 0, r, g, b);
** |
Farben aus File lesbar: GetRGB32() or LoadRGB32()
///" Notes"
** Notes:
**
**
TABs = 4
**
requires IEEE math library
**
Uses the MagicWB colors
** Program has been testet with:
AmigaGuardian
**
memwatch.lib (SAS/C link library)
**
OS3.1 only !
** --------------------------------------
** History:
**
/// " 0.1"
** >>>>>>>>>>> V0.1
**
** 15 Sep 1995 first runable version
/// " 0.2"
** >>>>>>>>>>> V0.2
**
** 17 Sep 1995 add: background image
** add: -gc/-gaugecolor
** add: background pattern
** add: -sc/-screencolor
** add: -nosr/-noscreenraster
** add: -test
** cng: background image
** add: -cv/-viewcommand
** add: FAILED_OPENSEQ
/// " 0.3"
** >>>>>>>>>>> V0.3
**
** 20 Okt 1995 add: check: skip, failat, path
** cng: set "BootGauge ..." before everything in titlebar
** add: if/endif handling
** cng: image handling: now using little img and put it a grid
** add: window's x/y size is configureable
** add: IText and gauge bar adapts automatically to window's size
** add: gauge bar scale
** add: -nopat/-nopattern
** add: -wc/-windowcolor
** add: -nosl/-noscale
** add: -gbc/-gaugebackcolor
** add: subprg: -getid/-getmodeid
** fix: check if BG_win is too large for BG_scr
** add: c = tolower(c);
** fix: if handling now correct
** fix: cmd handling now correct (skip/notitle, failat ...)
** add: skip/lab handling
** cng: BootGauge -> BG (prg-intern)
** cng: image
** cng: palette, using now 32bit palette (SA_Colors32)
** add: -nodb/-nodebug
** cng: -no* int -> BOOL
** 01 Nov 1995 add: -emod/-ecsmode
** add: NO_COMMENT
** >>>>>>>>>>> Initial Release (AmiNet)
**
/// " 0.4"
** >>>>>>>>>>> V0.4
**
** 11 Nov 1995 cng: requester(str, var); (var argument)
** fix: no esc signs in the titlebar anymore
** cng: remove comments from titlebar string
** add: -btxt/-boottext
** add: struct TextAttr font = {...}
** add: -notb/-notitlebar
** add: subprg: FreeSpace
** add: -fsx/freespacex
** add: -fsy/freespacey
** add: -fsc/freespacecolor
** add: -fsx/freespacexs
** add: -fstc/freespacetypecolor
** add: -fsfc/freespacefypecolor
** 12 Nov 1995 add: subprg: MemSpace
** add: -msx/memspacex
** add: -msy/memspacey
** add: -msc/memspacecolor
** add: -msx/memspacexs
** add: -mstc/memspacetypecolor
** add: -msfc/memspacefontcolor
** >>>>>>>>>>>> Beta 1
**
** rem: dead assignments in MemSpace.c
** add: dummy, tmp perc value in MemSpace.c
** 13 Nov 1995 cng: title is now also set on BG_pat
** add: menu: about, check marks: ms/fs/titlebar/quit
** add: BG is now quitable (menu/quit)
** add: menu shortcuts
** add: default <sequence> is "sys:s/amiga-startup"
** add: IDCMP_DISKINSERTED
** cng: minior changes
** cng: intern variable & config options
** rem: scr_pattern
** cng: new structure of source
** add: -btxtfp/-boottextfrontpen
** 16 Nov 1995 add: IDCMP_DISKREMOVED
** add: MS_putvalue();
** rem: FAILED_MEMSPACE
** 17 Nov 1995 cng: overworked DC
** add: -dcfp/-displaycmdfontpen
** add: -dcx/-displaycmdx
** add: -dcy/-displaycmdy
** rem: -getid/-getmodeid/subprg:GetModeID();
** cng: bootitext is centered between gauge bar and upper win frame
** cng: complete CLI commands (eg. no alternative)
** cng: Process_Seq() -> DoSeq()
** fix: bg started with -noms/-nofs and during running started by menu -> open at y = 0 (titlebar)
/// " 0.5"
** >>>>>>>>>>> V0.5
**
** 01 Dec 1995 cng: BG_win now using gtlayout
** add: 3D frame for BG_win
** cng: many minior adjustments (variables, options ...)
** cng: all is now using gtlayout
** cng: now using WA_BackFill
** cng: uses much less mem
** fix: bootgauge didn't free all memory
** cng: completely overworked (more sources)
** rem: many options (in cause of gtlayout)
** 06 Dec 1995 add: ListCmd()
** add: LC_putvalue()
** add: LC_ShutDown()
** 07 Dec 1995 add: CreateNode()
** fix: LC_putvalue now works
** 09 Dec 1995 cng: -winpen (background color) now for all windows
** add: check if OS3+ is available
** add: SysInfo ()
** 12 Dec 1995 add: OpenLib() [Olaf Barthel]
** fix: func = (VOID *) ( (* ( (APTR *)(((struct MenuItem *) n )+1) ) ) );
** cng: BG_OpenWindow() -> GaugeBar()
** cng. BG_CloseWindow() -> GB_ShutDown()
** cng: on/off: gauge bar is now extern
** 13 Dec 1995 add: IDCMP handle for all windows
** add: routine to get builtin memory size
** cng: MemSpace now featuring also gauge bars
** add: SysInfo: CPU, FPU
** cng: Now using a GST file (wow !, fast !)
** cng: compiling with option: optschedule
** 17 Dec 1995 cng: finished source splitting
** add: SysInfo: Chip set
** fix: little layout correction in MemSpace()
** add: TimeInfo()
** 18 Dec 1995 add: CPUInfo()
** cng: menu updated (TimeInfo, CPUInfo) and sorted (alphabetic)
** cng: cleaned up unused/old/unrequired variables
** cng: names of some variables
** 19 Dec 1995 add: menu item for GaugeBar()
** cng: now use normal instead of checking menus
** 20 Dec 1995 cng: bgTimeInfo.c now also displays the seconds
/// " 0.6"
** >>>>>>>>>>> V0.6
**
** 22 Dec 1995 cng: Requester() accepts now arguments
** cng: MemSpace runs in its own task
** 23 Dec 1995 add: SetClickDrive()
** cng: overworked a bit and made safer
** cng: overworked OpenScr(), screen is now really public
** fix: TimeInfo(), e.g. 22:1:5 instead of 22:01:05
** fix: didn't recognize end of if-blocks
** cng: don't copy more than 2 empty signs into line[] "ab c" -> "ab c"
** cng: titlebar format and use sprintf() for making title_text
** rem: nline[]
** cng: line[]: no comments, no '\n'
** fix: -noreq now takes no effect to Menu/About
** fix: problem with comments (ESC sign was shown)
** 25 Dec 1994 add: -drvclick
** add: -nobborder; BlackBorder()
** add: now it is possible to use a config file if available
** cng: overworked DoSeq(): use now fgets(), line is now case-sensitiv (for rename, ...)
** add: lower()
** add: upper()
** add: check result of system(), display error, warn, ... in requester
** add: count of system()'s failures are displayed in DisplayCmd
** >>>>>>>>>>> Beta 1
**
** 28 Dec 1995 add: InitBackFill();
** cng: scr's depth defineable
** cng: default scr depth 3, use MagicWB colors
** cng: DriPens[] (e.g. active title bar text is now white)
** cng: overworked Menu_About() a little bit
** rem: variable for sub prgs: si, ms, fs, ti, dc, gb, ci; now check if window is open/task is running
** rem: menu item for sub programs and titlebar, was simply nonsense
** cng: workaround: if titlebar is enabled MoveWindow() [MS, CI, FS] don't overwrite title bar
** cng: now just execute path and alias
** add: -failat, default = 21;
** cng: names of sub programs (and its variables[windows, handle, open_*]), now called "modules"
** cng: names of all files (bg_* and mod_*)
** cng: better structure
** cng: screen title now for all windows
** cng: window title of mod_Gauge
** fix: if scr's title bar was off, title bar of mod_Text wasn't updated
** 29 Dec 1995 cng: general config structure
** fix: several minior bugs, didn't free some bytes
** add: dri_pens[] are now defineable
** cng: updated evaluateCfg/Args(), now you can configure everything ;-)
** 30 Dev 1995 cng: Menu now in win_Main
** cng: win_Main is now the default active window
** cng: Screen title bar text now defineable
** 01 Jan 1996 cng: better infos than just "OpenLibs()" failed
** 03 Jan 1996 fix: [Yak:] ClickDrive() didn't free (2 * 56) = 112 bytes
** add: Window's pos is saved automatically
** add: POS config file for modules
** cng: move bg's confgi files in a own dir
** 05 Jan 1996 add: Exists()
** add: ByteCopy()
** add: MakeDir()
** cng: SaveWinPos() now writes also in env:
** cng: now mod_Devs supports again IDCMP_DISKINSERTED
** >>>>>>>>>>> Beta 2
**
** 08 Jan 1996 cng: mod_Gauge: CloseGadget just quit mod_Gauge not whole app
** cng: IDs now in the files where they are used (removed from GST) and using enum{}
** cng: mod_Time: now all gadgets are updated
** cng: module's gadgets are build by for () [code optimized]
** 09 Jan 1996 add: Font is now defineable
** 13 Jan 1996 cng: removed mod_Mem task, mod_Mem now runs directly again
** fix: forgot WA_NewLookMenus, TRUE, in win_Main
** add: Menu item: Wait [e.g. for pos windows]
** 14 Jan 1996 cng: now using reqtools.library for requesters
** 16 Jan 1996 add: much more error messages for system()
** cng: Requester() -> rprintf ()
** cng: improved rprintf () using va_list
/// " 0.7"
** >>>>>>>>>>> V0.7
**
** 19 Jan 1996 add: SetMousePos()
** 25 Jan 1996 fix: SetMousePos(): used Pubscreen -> Workbench poped up
** fix: SetMousePos() didn't free some bytes
** fix: many minior fixes, e.g. files/devices/libs may not have been closed
** 26 Jan 1996 cng: rprintf() call wait pointer
** add: SetPointerAll()
** add: SetTitlePointer()
** cng: scr_Main is SA_Behind and first switched to front after opening win_Main
** add: use of DriveClick() is defineable
** add: use of BlackBorder() is defineable
** rem: setmouse is now always set and not longer defineable
** rem: requester cannot be disabled anymore
** cng: config structure overworked
** 27 Jan 1996 rem: mod_CPU, SysInfo.library can only be used if Executive is running
** 05 Feb 1996 add: fgetsf(), formated replacement for fgets()
** cng: mod_Text: WARNs, FAILs, ERRORs, OTHERs are white colored
** 06 Feb 1996 add: parseline()
** fix: strpos()
** cng: DoSeq() -> ExecuteSeq()
** cng: ExecuteSeq() rewritten for more compatibility
** add: CheckResult()
** cnd: lower() -> str2lwr()
** cnd: upper() -> str2upr()
** 08 Feb 1996 fix: fgetsf(): isalpha (...) -> if (c != ' ' && c != '\t')
** fix: strpos(): UBYTE -> BYTE, e.g. "\"" wasn't handled correctly
** cng: improved strpos(): finds now specified occurance of keyword and not just the first
** fix: parseline(): UBYTE -> BYTE, e.g. "\"" wasn't handled correctly
** fix: parseline(): now handle commands in quotation marks correct, e.g. "c:my command"
** add: more error msg for failed commands
** 09 Feb 1996 cng: GetFastMemSize()/GetChipMemSize() -> GetSizeMem()
** 10 Feb 1996 cng: strpos(): smaller and improved speed a bit
** 13 Feb 1996 cng: SetupConfig() -> SetDefaults()
** cng: default <seq> is now sys:s/system-startup
** cng: GetDay(), GetDate(), GetTime() -> GetDDT()
** 14 Feb 1996 fix: Problems with urouhack and DrawFrame() [borders were hand-calculated, not win -> Border???]
** cng: string functions are not limited to STR_LEN anymore
** 17 Feb 1996 cng: GetDDT() now uses strftime(): time is completely configurable
** 19 Feb 1996 cng: strcmp (str2lwr (...), ...) replaced with stricmp (...)
** rem: str2lwr ()
** rem: str2upr ()
** 20 Feb 1996 rem: substr(): replaced with strmid ()
** fix: memory leak in GetDDT ()
** 23 Feb 1996 fix: all memory leaks !
** 24 Feb 1996 add: Say(): speak a text using narrator.device
** add: cfg -> say.*
** 24 Feb 1996 add: strwrd()
** 25 Feb 1996 cng: fopen(), fclose(), fgetc, ... -> Open(), Close(), FGetC, ...
** 01 Mar 1996 fix: sequence wasn't unlocked if user canceled program
** 02 Mar 1996 cng: made again a little bit safer
** cng: several minior changes
** 09 Mar 1996 add: DisplayBeep(), Say() if an error happens
** cng: very much very little changes in the whole code
** add: Macro: Div()
** add: CreateBitMap()
** add: DeleteBitMap()
** 16 Mar 1996 cng: mod_Sys(): code reduced
** cng: mod_Sys(): runs in its own process
** add: cfg -> mod.Sys.highlabel
** 17 Mar 1996 add: About window
** 18 Mar 1996 add: Quit menu item for mod_Sys
** cng: mod_Sys: optimized
** 22 Mar 1996 add: mod_Sys is quitted by pressing '\033' = escape
** 24 Mar 1996 add: Menu item: Reboot
** add: elementary Req()
** 26 Mar 1996 cng: window snapping defineable
** cng: snap window only if its position has changed
** 29 Mar 1996 cng: Shell arguments are now evaluated by RDArgs()
** cng: Prototype is now defined in SCOptions
** 30 Mar 1996 rem: picture support [at least for the windows]
** cng: improved GetMemSize(), now using MEMF_*
** fix: mod_Mem works again
** rem: Say(), narrator.device support
** >>>>>>>>>>> Beta 1
**
/// " 0.8"
** >>>>>>>>>>> V0.8
** 02 Apr 1996 cng: mod_Devs now also runs in its own process
** 07 Apr 1996 cng: overworked all modules
** rem: percent couting in titlebar of mod_Gauge & mod_Text
** cng: process creating/removing much safer
** add: security inquiry for ColdReboot () by Req ()
** [cng: Prototypes are now introduced by "PROTO", rewrote DICE's MakeProto]
** add: Req () replacing RPintF()
** add: 2 MagicWB images for Req ()
/// " 0.9"
** >>>>>>>>>>> V0.9
** 09 Apr 1996 cng: all modules now work in their own process !!!
** cng: mod_Gauge's quit gadget doesn't quit program but module only
** 11 Apr 1996 add: delay option for testing
** 12 Apr 1996 add: timer.device process updating considering modules every second
** add: menu item: NewShell
** 13 Apr 1996 rem: titlecmd
** add: isempty ()
** cng: FGetsF (): more flexible and improved
** cng: rewrote EvalPrefs(): shorter and faster
** 15 Apr 1996 fix: SingleCLI: STRING_KIND string wasn't terminated
** >>>>>>>>>>> Beta 1
**
** 20 Apr 1996 [add: elementary Installer script]
** 21 Apr 1996 cng: internal failat removed, DOS failat used
** 23 Apr 1996 [cng: overworked guide: much more flexible now]
** 29 Apr 1996 cng: more info if OpenScr() failed (WA_ErrorCode)
** 11 May 1996 add: mod_Sys: MMU
@ENDNODE
/// ToDo
@NODE "ToDo" "To do"
@{END}
@{HEAD "ToDo"}
@{START}
If anybody wants to write a config editor - just do it but please
contact me first.
@{START}
@{JCENTER}
if-block handling
@ENDNODE
/// Thanks
@NODE "Thanks" "Thanks to ..."
@{END}
@{HEAD "Thanks"}
@{END}
@{BOLD "Special thanks to:"}
@{JCENTER}
Olaf Barthel ...................
@{JLEFT}
@{BOLD "Alphabetic order:"}
@{JCENTER}
Andreas M. Kirchwitz ...........
Barry McConnell ................
Carsten Gerlach ................
l Marziou ...................
Martin W. Scott ................
Petri Nordlund .................
Philippe Bastiani ..............
Raymond Penners ................
@{JLEFT}
@{BOLD "BetaTester:"}
@{JCENTER}
Hermes Trismegistus ............
Marc Feininger .................
Roberto Agria ..................
Thomas Pilgaard Nielsen ........
Thomas Reinhardt ...............
@{JLEFT}
@{BOLD "And last but not least:"}
@{JCENTER}
everybody who wrote me, really !
@{JLEFT}
@ENDNODE
/// startup-sequence
@NODE "startup-sequence" "s/startup-sequence Example"
@{END}
FAILAT 21
SetPatch >NIL:
ASSIGN ENV: ENVARC: ; just temporary
; if you use HDEnv, e.g do an
; Assign env: sys:prefs/env
; instead
; Include CyberGraphX to use a cgfx screen for BootGauge
SYS:Devs/Monitors/Spectrum
BootGauge
ENDSHELL >NIL:
@ENDNODE
/// system-startup
@NODE "system-startup" "s/system-startup Example"
@{END}
Failat 21
Relabel drive RAM: name "Ram-Disk"
Copy >NIL: SYS:S/RAM.info RAM:Disk.info
MakeDir >NIL: Ram:T Ram:Clipboards
; System Assigns - - - - - - - - - - - - - - - - - -
Execute S:Assign/System.assign
HDEnv
; KingCon - - - - - - - - - - - - - - - - - - - - - -
Assign CON: Dismount ; use KingCon instead of CON:
Assign RAW: Dismount ; use KingCon instead of RAW:
; Drivers - - - - - - - - - - - - - - - - - - - - - -
Mount >NIL: DEVS:DOSDrivers/~(#?.info)
MFSMount DEVS:DOSDrivers/~(#?.info)
DEVS:Monitors/VGAOnly
List >NIL: DEVS:Monitors/~(#?.info|Spectrum) to T:Monitors LFORMAT "DEVS:Monitors/%s"
Execute >NIL: T:Monitors
Delete >NIL: T:Monitors
RUN >NIL: MagicWB-Demon 4,123,123,123 5,175,175,175 6,170,144,124 7,255,169,151 ; arg "xen" -> Gag
; User Assigns - - - - - - - - - - - - - - - - - - -
Execute S:Assign/Directory.assign
Execute S:Assign/Art.assign
Execute S:Assign/Dev.assign
Execute S:Assign/DFA.assign
Execute S:Assign/HD.assign
Execute S:Assign/MagicWB.assign
Execute S:Assign/Misc.assign
Execute S:Assign/MUI.assign
Execute S:Assign/Music.assign
Execute S:Assign/Text.assign
Execute S:Assign/UMS_UUCP.assign
; System - - - - - - - - - - - - - - - - - - - - - -
AddDataTypes REFRESH QUIET
IPrefs
; Startup-Seqs - - - - - - - - - - - - - - - - - - -
Execute S:User-Startup
Execute S:Path-Startup
Assign ADD C: util:misc/Executive ; BootGauge can't handle path
RUN <NIL: >NIL: util:misc/Executive/Executive ; task scheduler
RUN >NIL: SSD 0 25 gvpscsi.device ; send ticks to cd-rom
RUN >NIL: TextDTPatch ; search support for text.datatype
RUN >NIL: cdity:ReKeyIt
RUN >NIL: cdity:ToolManager ; to be ready when WB pops up
RUN >NIL: MCP ; the greatest hack ever !
SmartWB QUIET
LoadWB CLEANUP
@ENDNODE
/// BootGauge.prefs
@NODE "BootGauge.prefs" "env[arc]:BootGauge/BootGauge.prefs"
@{END}
# Configuration file for BootGauge
# Copyright
1995/1996 by Timo C. Nentwig
# all rights reserved !
# Tcn@techbase.in-berlin.de
# GLOBAL
WINDOW_PEN 5
TITLE_CMD FALSE
DRIVECLICK FALSE
SNAPWINPOS TRUE
# SEQUENCE
SEQ_PATH sys:s/specified-sequence
SEQ_FAILAT 21
# SCREEN
FONTNAME helvetica.font
FONTSIZE 11
MODEID 167936 # PAL HiRes
SCREEN_PEN 3
SCREEN_CHECKED FALSE
TITLEBAR FALSE
BLACKBORDER TRUE
# POINTER
POINTER_CENTER TRUE
POINTER_POS_X 10 # center is TRUE
POINTER_POS_Y 10 # center is TRUE
# DRIPENS
#DETAILPEN
#BLOCKPEN
#TEXTPEN
#SHINEPEN
#SHADOWPEN
#FILLPEN
#FILLTEXTPEN
#BACKGROUNDPEN
#HIGHLIGHTTEXTPEN
#BARDETAILPEN
#BARBLOCKPEN
#BARTRIMPEN
# MODULES
MODULE_TEXT TRUE
MODULE_DEVS TRUE
MODULE_GAUGE TRUE
MODULE_MEM TRUE
MODULE_SYS TRUE
MODULE_TIME TRUE
# MODULE: GAUGE
GAUGE_GAD_QUIT TRUE
GAUGE_TITLE window title
GAUGE_GROUP group title
GAUGE_QUIT quit gadget
# MODULE: DEVS
DEVS_TITLE window title
DEVS_GROUP group title
# MODULE: MEM
MEM_TITLE window title
MEM_GROUP group title
MEM_FREE free
MEM_CHIP chip mem
MEM_FAST fast mem
MEM_TOTAL all together
# MODULE: SYS
SYS_TITLE window title
SYS_GROUP group title
SYS_KICKSTART kick
SYS_EXEC exec
SYS_CPU CPU
SYS_FPU FPU
SYS_CHIPSET chips
SYS_VIDEOSET video system
SYS_HIGHLABEL TRUE
# MODULE: TEXT
TEXT_TITLE window title
# MODULE: TIME
TIME_TITLE window title
TIME_GROUP group title
TIME_DAY day is
TIME_DATE date is
TIME_TIME time is
#see @{"sc:help/sc_lib.guide" LINK "sc_lib_part"} for variables
TIME_FMT_DAY %A
TIME_FMT_DATE %d-%m-%y
TIME_FMT_TIME %H:%M:%S
@ENDNODE
/// sc_lib_part
@NODE "sc_lib_part" "sc:help/sc_lib.guide notch"
@{END}
@{HEAD "sc_lib"}
Cutted from sc:help/sc_lib.guide:
Specifier Replaced with . . .
---------- -------------------
%a the locale's abbreviated weekday name
%A the locale's full weekday name
%b the locale's abbreviated month name
%B the locale's full month name
%c the locale's appropriate date and time representation
%d the day of the month as a decimal number (01-31)
%H the hour (24-hour clock) as a decimal number (00-23)
%I the hour (12-hour clock) as a decimal number (00-12)
%j the day of the year as a decimal number (001-366)
%m the month as a decimal number (01-12)
%M the minute as a decimal number (00-59)
%p the locale's equivalent of the AM and PM designations
associated with a 12-hour clock
%S the second as a decimal number (00-61)
%U the week number of the year (the first Sunday as the
first day of week 1) as a decimal number (00-53)
%w the weekday as a decimal number (0-6), where Sunday is 0
%W the week number of the year (the first Monday as the
first day of week 1) as a decimal number (00-53)
%x the locale's appropriate date representation
%X the locale's appropriate time representation
%y the year without the century as a decimal number (00-99)
%Y the year with the century as a decimal number
%Z the time zone name or abbreviation; no characters
indicates the time zone is not determinable
%% a percent sign.
@ENDNODE